set.seed(1014)
knitr::knit_hooks$set(inline = function(x) prettyNum(x, big.mark = ".", decimal.mark = ","))
options(
digits = 1,
scipen = 999,
OutDec = ",",
knitr.kable.NA = "",
radian.auto_match = FALSE
)
Sys.setenv(LANGUAGE = "pt-br")
Sys.setlocale("LC_TIME", "pt_BR")
#> [1] ""library(tidyverse)
library(lubridate)
library(here)
`%notin%` <- function(x, y) !(x %in% y)source(here("src/0-paleta-de-cores.R"), encoding = "UTF-8")
theme_set(theme_minimal())
theme_update(
panel.grid.minor = element_blank(),
panel.background = element_rect(fill = "gray97", color = "transparent")
)
my_lbl <- function(x) scales::percent(x, decimal.mark = ",", accuracy = 0.1)pedidos_cgu <- "dados/load/rds/pedidos-cgu.rds" %>%
here() %>%
readRDS() %>%
rename(orgao = orgaodestinatario) %>%
filter(decisao %notin% c(
"Pergunta Duplicada/Repetida",
"Não se trata de solicitação de informação"
))
recursos_cgu <- "dados/load/rds/recursos-cgu.rds" %>%
here() %>%
readRDS() %>%
rename(orgao = orgaodestinatario) %>%
distinct() %>%
group_by(id_pedido) %>%
filter(row_number() == 1) %>%
ungroup()
pedidos_clean <- "dados/load/rds/pedidos-clean.rds" %>%
here() %>%
readRDS()
recursos_clean <- "dados/load/rds/recursos-clean.rds" %>%
here() %>%
readRDS() %>%
distinct() %>%
group_by(id_pedido) %>%
filter(row_number() == 1) %>%
ungroup()pedidos_clean <- pedidos_clean %>%
left_join(select(pedidos_cgu, id_pedido, data_registro)) %>%
mutate(
usa_lgpd_pedido_resumido = if_else(
year(data_registro) > 2017,
str_detect(resumo_solicitacao_clean, "LGPD"),
FALSE
),
usa_lgpd_pedido = if_else(
year(data_registro) > 2017,
str_detect(detalhamento_solicitacao_clean, "LGPD"),
FALSE
),
usa_lgpd_resposta = if_else(
year(data_registro) > 2017,
str_detect(resposta_clean, "LGPD"),
FALSE
)
) %>% select(-data_registro)
recursos_clean <- recursos_clean %>%
left_join(select(recursos_cgu, id_pedido, id_recurso, data_registro)) %>%
mutate(
usa_lgpd_recurso = if_else(
year(data_registro) > 2017,
str_detect(desc_recurso_clean, "LGPD"),
FALSE
),
usa_lgpd_resposta_recurso = if_else(
year(data_registro) > 2017,
str_detect(resposta_recurso_clean, "LGPD"),
FALSE
),
usa_lgpd = usa_lgpd_recurso | usa_lgpd_resposta_recurso
) %>% select(-data_registro)
lgpd <- pedidos_cgu %>%
select(
id_pedido, orgao, data_registro,
resumo_solicitacao, detalhamento_solicitacao,
resposta, decisao, assunto_pedido
) %>%
left_join(pedidos_clean) %>%
mutate(
usa_lgpd_assunto = assunto_pedido == "Dados Pessoais - LGPD",
usa_lgpd_pedido_resumido = replace_na(usa_lgpd_pedido_resumido, FALSE),
usa_lgpd = !(
!usa_lgpd_pedido_resumido &
!usa_lgpd_pedido &
!usa_lgpd_resposta &
!usa_lgpd_assunto
))library(tidytext)
library(wordcloud)
source(here("./src/5-funcao-limpando-texto.R"), encoding = "utf-8")
rgx_sigla <- "^[:upper:]+(?= )|^[:upper:]+-PR|^FUNRei|^MTur|UFCAT$"
lgpd_nested <- lgpd %>%
filter(decisao == "Acesso Negado", data_registro > ymd("2017-06-01")) %>%
mutate(
onde = usa_lgpd_resposta &
!usa_lgpd_pedido &
!usa_lgpd_pedido_resumido &
assunto_pedido != "Dados Pessoais - LGPD"
) %>%
add_count(orgao, onde, name = "n_pedidos") %>%
filter(onde) %>%
left_join(
select(pedidos_cgu, id_pedido, ts_resposta, data_resposta)
) %>%
mutate(
ts_resposta = dmy(ts_resposta),
vigencia_lgpd = ts_resposta >= ymd("2020-11-18"),
orgao_sigla = str_extract(orgao, rgx_sigla)
) %>%
select(
id_pedido, orgao, orgao_sigla, data_registro, assunto_pedido,
vigencia_lgpd, decisao, resumo_solicitacao, contains("clean"), n_pedidos
)plot_wordcloud_mencao_lgpd <- function(df, campo, nome_orgao, em_vigencia) {
print(nome_orgao)
df <- lgpd_nested %>%
filter(orgao_sigla == nome_orgao) %>%
select(id_pedido, vigencia_lgpd, campo)
if (em_vigencia) {
df <- df %>% filter(vigencia_lgpd)
}
df <- df %>%
unnest_tokens(word, campo) %>%
anti_join(stopwords) %>%
mutate(
word = str_extract(word, "[a-z']+"),
word = if_else(word == "urltag", "link-url", word),
word = str_replace_all(word, "artigosexto", "Artigo 6"),
word = str_replace_all(word, "artigosetimo", "Artigo 7")
) %>%
filter(!str_count(word) %in% c(1, 2)) %>%
count(word, sort = T)
titulo <- if_else(
campo == "resposta_clean",
"Frequência de palavras na resposta",
"Frequência de palavras no pedido"
)
titulo <- if_else(
em_vigencia,
str_glue("{titulo}\napós a vigência da LGPD"),
str_glue("{titulo}\ntodo período"),
)
cor_do_campo <- if_else(
campo == "resposta_clean",
cores_aep[["rosa"]],
cores_tb[["azul"]]
)
layout(matrix(c(1, 2), nrow = 2), heights = c(.5, 6))
par(mar = rep(0, 4))
plot.new()
text(x = 0.5, y = 0.5, titulo)
df %>% with(
wordcloud(
word, n,
scale = c(6,.5),
max.words = 150,
random.order = F,
random.color = F,
main = title,
colors = cor_do_campo
)
)
}esic_url <- "http://www.consultaesic.cgu.gov.br/busca/_layouts/15/DetalhePedido/DetalhePedido.aspx?nup="
tabela_com_links <- function(df) {
df %>%
left_join(select(pedidos_cgu, id_pedido, protocolo_pedido, ts_registro)) %>%
transmute(
Protocolo = str_glue(
'<a href="{esic_url}{protocolo_pedido}">{protocolo_pedido}</a>'
),
`Órgão (sigla)` = orgao_sigla,
`Data registro` = dmy(ts_registro),
Assunto = assunto_pedido,
`Resumo pedido` = resumo_solicitacao
) %>%
DT::datatable(
caption = str_glue(
'Acessos negados mencionando a LGPD ',
'(clique no nº de protocolo para acessar o pedido no E-sic)'
),
options = list(pageLength = 5, dom = 'tip'),
filter = 'top',
escape = FALSE
)
}O GSI fez as negaticas baseada na LGPD após a viggência da legislação;
lgpd_nested %>%
filter(orgao_sigla == "GSI-PR") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "GSI-PR",
em_vigencia = T
)
#> [1] "GSI-PR"
lgpd_nested %>%
filter(orgao_sigla == "GSI-PR") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "GSI-PR",
em_vigencia = T
)
#> [1] "GSI-PR"lgpd_nested %>%
filter(orgao_sigla == "GSI-PR") %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "MS") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "MS",
em_vigencia = F
)
#> [1] "MS"
lgpd_nested %>%
filter(orgao_sigla == "MS") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "MS",
em_vigencia = F
)
#> [1] "MS"lgpd_nested %>%
filter(orgao_sigla == "MS") %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "MS") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "MS",
em_vigencia = T
)
#> [1] "MS"
lgpd_nested %>%
filter(orgao_sigla == "MS") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "MS",
em_vigencia = T
)
#> [1] "MS"lgpd_nested %>%
filter(orgao_sigla == "MS") %>%
filter(vigencia_lgpd) %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "ME") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "ME",
em_vigencia = F
)
#> [1] "ME"
lgpd_nested %>%
filter(orgao_sigla == "ME") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "ME",
em_vigencia = F
)
#> [1] "ME"lgpd_nested %>%
filter(orgao_sigla == "ME") %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "ME") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "ME",
em_vigencia = T
)
#> [1] "ME"
lgpd_nested %>%
filter(orgao_sigla == "ME") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "ME",
em_vigencia = T
)
#> [1] "ME"lgpd_nested %>%
filter(orgao_sigla == "ME") %>%
filter(vigencia_lgpd) %>%
tabela_com_links()O INCRA fez as negaticas baseada na LGPD após a viggência da legislação;
lgpd_nested %>%
filter(orgao_sigla == "INCRA") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "INCRA",
em_vigencia = T
)
#> [1] "INCRA"
lgpd_nested %>%
filter(orgao_sigla == "INCRA") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "INCRA",
em_vigencia = T
)
#> [1] "INCRA"lgpd_nested %>%
filter(orgao_sigla == "INCRA") %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "CNPQ") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "CNPQ",
em_vigencia = F
)
#> [1] "CNPQ"
lgpd_nested %>%
filter(orgao_sigla == "CNPQ") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "CNPQ",
em_vigencia = F
)
#> [1] "CNPQ"lgpd_nested %>%
filter(orgao_sigla == "CNPQ") %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "CNPQ") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "CNPQ",
em_vigencia = T
)
#> [1] "CNPQ"
lgpd_nested %>%
filter(orgao_sigla == "CNPQ") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "CNPQ",
em_vigencia = T
)
#> [1] "CNPQ"lgpd_nested %>%
filter(orgao_sigla == "CNPQ") %>%
filter(vigencia_lgpd) %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "BB") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "BB",
em_vigencia = F
)
#> [1] "BB"
lgpd_nested %>%
filter(orgao_sigla == "BB") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "BB",
em_vigencia = F
)
#> [1] "BB"lgpd_nested %>%
filter(orgao_sigla == "BB") %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "BB") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "BB",
em_vigencia = T
)
#> [1] "BB"
lgpd_nested %>%
filter(orgao_sigla == "BB") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "BB",
em_vigencia = T
)
#> [1] "BB"lgpd_nested %>%
filter(orgao_sigla == "BB") %>%
filter(vigencia_lgpd) %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "INEP") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "INEP",
em_vigencia = F
)
#> [1] "INEP"
lgpd_nested %>%
filter(orgao_sigla == "INEP") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "INEP",
em_vigencia = F
)
#> [1] "INEP"lgpd_nested %>%
filter(orgao_sigla == "INEP") %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "INEP") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "INEP",
em_vigencia = T
)
#> [1] "INEP"
lgpd_nested %>%
filter(orgao_sigla == "INEP") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "INEP",
em_vigencia = T
)
#> [1] "INEP"lgpd_nested %>%
filter(orgao_sigla == "INEP") %>%
filter(vigencia_lgpd) %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "ANEEL") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "ANEEL",
em_vigencia = F
)
#> [1] "ANEEL"
lgpd_nested %>%
filter(orgao_sigla == "ANEEL") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "ANEEL",
em_vigencia = F
)
#> [1] "ANEEL"lgpd_nested %>%
filter(orgao_sigla == "ANEEL") %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "ANEEL") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "ANEEL",
em_vigencia = T
)
#> [1] "ANEEL"
lgpd_nested %>%
filter(orgao_sigla == "ANEEL") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "ANEEL",
em_vigencia = T
)
#> [1] "ANEEL"lgpd_nested %>%
filter(orgao_sigla == "ANEEL") %>%
filter(vigencia_lgpd) %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "MD") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "MD",
em_vigencia = F
)
#> [1] "MD"
lgpd_nested %>%
filter(orgao_sigla == "MD") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "MD",
em_vigencia = F
)
#> [1] "MD"lgpd_nested %>%
filter(orgao_sigla == "MD") %>%
tabela_com_links()lgpd_nested %>%
filter(orgao_sigla == "MD") %>%
plot_wordcloud_mencao_lgpd(
campo = "detalhamento_solicitacao_clean",
nome_orgao = "MD",
em_vigencia = T
)
#> [1] "MD"
lgpd_nested %>%
filter(orgao_sigla == "MD") %>%
plot_wordcloud_mencao_lgpd(
campo = "resposta_clean",
nome_orgao = "MD",
em_vigencia = T
)
#> [1] "MD"lgpd_nested %>%
filter(orgao_sigla == "MD") %>%
filter(vigencia_lgpd) %>%
tabela_com_links()